package com.wtone.platform.gat.images.gat.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.wtone.platform.gat.images.gat.core.R;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @Author: aiLin
 * @Date: 2020/9/25 17:53
 * @desc: 订阅对象
 */
@Data
@ToString
@NoArgsConstructor                 //无参构造
@AllArgsConstructor                //有参构造
@ApiModel(value="Subscribe对象",description="订阅信息对象")
public class Subscribe {

    @ApiModelProperty(value="订阅标识符",example = "330101020001032017113010580006371")
    @JsonProperty("SubscribeID")
    private String SubscribeID;

    @ApiModelProperty(value="描述订阅的主题和目标",example = "门禁图片上传")
    @JsonProperty("Title")
    private String Title;

    @ApiModelProperty(value="订阅类别")
    @JsonProperty("SubscribeDetail")
    private int SubscribeDetail;

    @ApiModelProperty(value="订阅资源类别")
    @JsonProperty("ResourceClass")
    private int ResourceClass;

    @ApiModelProperty(value="资源路径URI")
    @JsonProperty("ResourceURI")
    private String ResourceURI;

    @ApiModelProperty(value="申请人",example = "张三")
    @JsonProperty("ApplicantName")
    private String ApplicantName;

    @ApiModelProperty(value="申请单位",example = "某某单位")
    @JsonProperty("ApplicantOrg")
    private String ApplicantOrg;

    @ApiModelProperty(value="订阅开始时间",example = "20180116142101")
    @JsonProperty("BeginTime")
    private String BeginTime;

    @ApiModelProperty(value="订阅结束时间",example = "20180118142101")
    @JsonProperty("EndTime")
    private String EndTime;

    @ApiModelProperty(value="订阅信息接受地址URL",example = "http://192.168.20.158:8080/VIID/SubscribeNotifications")
    @JsonProperty("ReceiveAddr")
    private String ReceiveAddr;

    @ApiModelProperty(value="信息上报时间,单位为秒（s），<=0 表示不限制")
    @JsonProperty("ReportInterval")
    private int  ReportInterval;

    @ApiModelProperty(value="订阅理由",example = "进行该订阅的理由")
    @JsonProperty("Reason")
    private String Reason;


    @ApiModelProperty(value="操作类型 0：订阅；1：取消订阅",example = "0")
    @JsonProperty("OperateType")
    private int  OperateType;

    @ApiModelProperty(value="订阅执行状态 0：订阅中\n" +
            "1：已取消订阅\n" +
            "2：订阅到期\n" +
            "9：未订阅\n" +
            "该字段只读",example = "0")
    @JsonProperty("SubscribeStatus")
    private int  SubscribeStatus;

    @ApiModelProperty(value="订阅取消单位",example = "仅在取消订阅时使用")
    @JsonProperty("SubscribeCancelOrg")
    private String SubscribeCancelOrg;

    @ApiModelProperty(value="订阅取消人",example = "仅在取消订阅时使用")
    @JsonProperty("SubscribeCancelPerson")
    private String SubscribeCancelPerson;


    @ApiModelProperty(value="取消时间",example = "仅在取消订阅时使用")
    @JsonProperty("CancelTime")
    private String CancelTime;

    @ApiModelProperty(value="取消原因",example = "仅在取消订阅时使用")
    @JsonProperty("CancelReson")
    private String CancelReson;

    @ApiModelProperty(value="返回结果图片约定 -1 不要图片\n" +
            "其 他 取 值 参 照 GA/T \n" +
            "1400.3-2017 中 Imagetype\n" +
            "的定义：\n" +
            "01 车辆大图\n" +
            "02 车牌彩色小图\n" +
            "03 车牌二值化图\n" +
            "04 驾驶员面部特征图\n" +
            "05 副驾驶面部特征图\n" +
            "06 车标\n" +
            "07 违章合成图\n" +
            "08 过车合成图\n" +
            "09 车辆特写图\n" +
            "10 人员图\n" +
            "11 人脸图\n" +
            "12 非机动车图\n" +
            "13 物品图\n" +
            "14 场景图\n" +
            "100 一般图片",example = "11")
    @JsonProperty("ResultImageDeclare")
    private String ResultImageDeclare;


    @ApiModelProperty(value="-1 不要特征值1 需要返回特征值",example = "1")
    @JsonProperty("ResultFeatureDeclare")
    private int ResultFeatureDeclare;

    @ApiModelProperty(value="订阅分类标签标识",example = "1")
    @JsonProperty("TabID")
    private String TabID;

    

}
